home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 December / Chip Aralık 2001.iso / prog / office / f_0259 / Init.xba < prev    next >
Encoding:
Extensible Markup Language  |  2001-07-12  |  16.0 KB  |  514 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
  3. <script:module xmlns:script="http://openoffice.org/2000/script" script:name="Init" script:language="StarBasic">Option Explicit
  4. REM  *****  BASIC  *****
  5.  
  6. ' Zu diskutieren:
  7. ' Autopilot von Werkzeugleiste f├╝r Textdokumente mit eigener Konverterseite?
  8. ' Konvertierung von Datenbankfeldern '- Problematik der Formatierung mit FS durchsprechen!?
  9. ' Option des einleitenden Welcome-Text, der erkl├ñrt, was eigentlich Sache ist (wie beim Dokumenten Konverter)
  10. ' Option der Checkbox-Gruppe in der die zu konvertierenden Dokumenttypen aufgef├╝hrt sind
  11. ' -> bei den letztgenannten Optionen m├╝sste der Dialog in seiner H├╢he vergr├╢├ƒert werden.
  12. ' Wir sollten informiert werden, ob und wie oder wann das Standard - W├ñhrungsformat f├╝r die Eurol├ñnder umgesetzt
  13. ' wird.
  14.  
  15. Public Const SBRANGEUBOUND = 20
  16. Public StyleRangeAssignmentList(SBRANGEUBOUND)as String
  17. Public SelRangeList(SBRANGEUBOUND) as String
  18. Public RangeList(SBRANGEUBOUND, 1) as String
  19. Public UnprotectList() as String
  20. Public FilterNames(2,1) as String
  21. Public bDoUnProtect as Boolean
  22.  
  23. Public sREADY as String
  24. Public sPROTECT as String
  25. Public sCONTINUE as String
  26.  
  27. Public sSELTEMPL as String
  28. Public sSELCELL as String
  29. Public sCURRRANGES as String
  30. Public sTEMPLATES as String
  31.  
  32. Public sSOURCEFILE as String
  33. Public sSOURCEDIR as String
  34. Public sTARGETDIR as String
  35.  
  36. Public sStsPROGRESS as String
  37. Public sStsCELLPROGRSS as String
  38. Public sStsRELRANGES as String
  39. Public sStsRELSHEETRANGES as String
  40. Public sStsREPROTECT as String
  41.  
  42. Public sMsgSELDIR as String
  43. Public sMsgSELFILE as String
  44. Public sMsgTARGETDIR as String
  45. Public sMsgNOTTHERE as String
  46. Public sMsgDLGTITLE as String
  47. Public sMsgUNPROTECT as String
  48. Public sMsgPWPROTECT as String
  49. Public sMsgWRONGPW as String
  50. Public sMsgSHEETPROTECTED as String
  51. Public sMsgWARNING as String
  52. Public sMsgSHEETSNOPROTECT as String
  53. Public sMsgSHEETNOPROTECT as String
  54. Public sMsgCHOOSECURRENCY as String
  55. Public sMsgPASSWORD as String
  56. Public sMsgOK as String
  57. Public sMsgCANCEL as String
  58. Public sMsgFileInvalid as String
  59. Public sMsgNODIRECTORY as String
  60. Public sMsgDOCISREADONLY as String
  61.  
  62. Public sCurrPORTUGUESE as String
  63. Public sCurrDUTCH as String
  64. Public sCurrFRENCH as String
  65. Public sCurrSPANISH as String
  66. Public sCurrITALIAN as String
  67. Public sCurrGERMAN as String
  68. Public sCurrBELGIAN as String
  69. Public sCurrIRISH as String
  70. Public sCurrLUXEMBOURG as String
  71. Public sCurrAUSTRIAN as String
  72. Public sCurrFINNISH as String
  73. Public sCurrGREEK as String
  74. Public sCurrUNKNOWN as String
  75. Public sCurrSYSUNKNOWN as String
  76.  
  77. Public sPrgsRETRIEVAL as String
  78. Public sPrgsCONVERTING as String
  79. Public sPrgsUNPROTECT as String
  80. Public sInclusiveSubDir as String
  81.  
  82. Public Const SBCOUNTRYCOUNT = 12
  83. Public CurMimeType as String
  84. Public CurCellCount as Long
  85. Public oSheets as Object
  86. Public oStyles as Object
  87. Public oStyle as Object
  88. Public oFormats as Object
  89. Public aSimpleStr as String
  90. Public nSimpleKey as Long
  91. Public aFormat() as Variant
  92. Public oRanges as Object
  93. Public oRange as Object
  94. Public nLanguage as integer
  95. Public nFormatLanguage as integer
  96. Public aCellFormat as Variant
  97. Public oDocument as Object
  98. Public StartCol, StartRow, EndCol, EndRow as String
  99. Public oSheet as Object
  100. Public IntStartCol,    IntStartRow, IntEndCol,    IntEndRow as integer
  101. Public oSelRanges as Object
  102. Public nFormatType as Integer
  103. Public sFormatCurrency as String
  104. Public sFormatLanguage as String
  105. Public CurSheetName as String
  106. Public oStatusLine as Object
  107. Public Const SBRELGET = 50
  108. Public StatusValue as Single
  109. Public TotCellCount as Long
  110. Public StyleIndex as Integer
  111. Public RangeIndex as Integer
  112. Public CurrIndex as Integer
  113. Public ActLangNumber(1) as Integer
  114. Public CurExtension(1) as String
  115. Public Currfactor as Double
  116. Public CurrSymbolList(2) as String
  117. Public CurrLanguage as String
  118. Public CurrValue(11,5)
  119. Public LangIDValue(11,2,2) as String
  120. Public PreName as String
  121. Public Separator as String
  122. Public BitmapDir as String
  123. Public TypeIndex as Integer, CSIndex as Integer, LangIndex as Integer, FSIndex as Integer
  124. Public oLocale as New com.sun.star.lang.Locale
  125. Public sEuroSign as String
  126. Public oPointer as Object
  127. Public sDocType as String
  128. Public bPreSelected as Boolean
  129. Public DocDisposed as Boolean
  130. Public bMacroStopped as Boolean
  131. Public bRecursive as Boolean
  132. Public bCancelProtection as Boolean
  133. Public CurrRoundMode as Boolean
  134. Public bRangeListDefined as Boolean
  135. ' Note the variable bDocHasProtectedSheets does not contain information
  136. ' wether sheets have to be reprotected
  137. Public bDocHasProtectedSheets as Boolean
  138. Public sGOON as String
  139. Public sHELP as String
  140. Public sCANCEL as String
  141. Public sClose as String
  142.  
  143. Sub InitializeResources()
  144.     With DialogModel
  145.         ' Strings that are also needed by the Password Dialog
  146.         sGoOn = GetResText(1003)
  147.         sHelp = GetResText(1001)
  148.         sCANCEL = GetResText(1000)
  149.         sClose = GetResText(1008)
  150.         .cmdCancel.Label =  sCANCEL
  151.         .cmdHelp.Label =  sHELP
  152.         .cmdBack.Label =  GetResText(1002)
  153.         .cmdGoOn.Label =  sGOON
  154.         .lblHint.Label =  GetResText(1004)
  155.         .lblCurrencies.Label = GetResText(1006)
  156. ' Todo: Dieses Model sp├ñter am Control unsichtbar machen    
  157.         If .Step = 1 Then
  158.             .chkComplete.Label = GetResText(1100)
  159.             .hlnSelection.Label = GetResText(1101)
  160.             .optCellTemplates.Label = GetResText(1102)
  161.             .optSheetRanges.Label = GetResText(1103)
  162.             .optDocRanges.Label = GetResText(1104)
  163.             .optSelRange.Label = GetResText(1105)
  164.             sCURRRANGES = GetResText(1108)
  165.             .lblSelection.Label = sCURRRANGES
  166.         Else
  167.              .hlnExtent.Label = GetResText(1200)
  168.             .optSingleFile.Label = GetResText(1201) '"Einzelnes StarOffice -Dokument"'GetResText(1201)
  169.              .optWholeDir.Label = GetResText(1202)
  170.              .chkProtect.Label = GetResText(1207)
  171.              .chkTextDocuments.Label = GetResText(1210)     ' "Auch Feldbefehle und Tabellen in Textdokumenten konvertieren"
  172.             sSOURCEFILE = GetResText(1203)
  173.             sSOURCEDIR = GetResText(1204)
  174.              .lblSource.Label = sSOURCEDIR
  175.              sInclusiveSubDir = GetResText(1205)
  176.              .chkRecursive.Label = sInclusiveSubDir
  177.             sTARGETDIR = GetResText(1206)
  178.              .lblTarget.Label = STARGETDIR 
  179.             .optWholeDir.State = 1
  180.             .txtSource.Text = ConvertfromUrl(GetPathSettings("Work"))
  181.             SubstDir = .txtSource.Text
  182.             .txtTarget.Text = .txtSource.Text
  183.             .hlnProgress.Label = GetResText(1600)
  184.             .lblConfig.Label = GetResText(1603)
  185.             sPrgsRETRIEVAL = GetResText(1601)
  186.             sPrgsCONVERTING = GetResText(1602)
  187.             sPrgsUNPROTECT = GetResText(1604)
  188.         End If
  189.         .cmdBack.Enabled = False
  190.         sPROTECT = GetResText(1005)
  191.         sCONTINUE = GetResText(1007)
  192.         sSELTEMPL = GetResText(1106)
  193.         sSELCELL = GetResText(1107)
  194.         sCURRRANGES = GetResText(1108)
  195.         sTEMPLATES = GetResText(1109)
  196.         sStsPROGRESS = GetResText(1300)
  197.         sStsCELLPROGRSS = GetResText(1301)
  198.         sStsRELSHEETRANGES = GetResText(1302)
  199.         sStsRELRANGES = GetResText(1303)
  200.         sStsREPROTECT = GetResText(1304)
  201.         sREADY = GetResText(1400)
  202.         sMsgSELDIR = GetResText(1401)
  203.         sMsgSELFILE = GetResText(1402)
  204.         sMsgTARGETDIR = GetResText(1403)
  205.         sMsgNOTTHERE = GetResText(1404)
  206.         sMsgDLGTITLE = GetResText(1405)
  207.         sMsgUNPROTECT = GetResText(1406)
  208.         sMsgPWPROTECT = GetResText(1407)
  209.         sMsgWRONGPW = GetResText(1408)
  210.         sMsgSHEETPROTECTED = GetResText(1409)
  211.         sMsgWARNING = GetResText(1410)
  212.         sMsgSHEETSNOPROTECT = GetResText(1411)
  213.         sMsgSHEETNOPROTECT = GetResText(1412)
  214.         sMsgCHOOSECURRENCY = GetResText(1415)
  215.         sMsgPASSWORD = GetResText(1416)
  216.         sMsgOK = GetResText(1417)
  217.         sMsgCANCEL = GetResText(1418)
  218.         sMsgFILEINVALID = GetResText(1419)
  219.         sMsgFILEINVALID = ReplaceString(sMsgFILEINVALID,"%PRODUCTNAME", GetProductname())
  220.         SMsgNODIRECTORY = GetResText(1420)
  221.         sMsgDOCISREADONLY = GetResText(1421)
  222.         sCurrPORTUGUESE = GetResText(1500)
  223.         sCurrDUTCH = GetResText(1501)
  224.         sCurrFRENCH = GetResText(1502)
  225.         sCurrSPANISH = GetResText(1503)
  226.         sCurrITALIAN = GetResText(1504)
  227.         sCurrGERMAN = GetResText(1505)
  228.         sCurrBELGIAN = GetResText(1506)
  229.         sCurrIRISH = GetResText(1507)
  230.         sCurrLUXEMBOURG = GetResText(1508)
  231.         sCurrAUSTRIAN = GetResText(1509)
  232.         sCurrFINNISH = GetResText(1510)
  233.         sCurrGREEK = GetResText(1511)
  234.         sCurrUNKNOWN = GetResText(1511)
  235.         sCurrSYSUNKNOWN = GetResText(1512)
  236.     End With
  237. End Sub
  238.  
  239.  
  240. Sub InitializeLanguages()
  241.     sEuroSign = chr(8364)
  242.  
  243. ' CURRENCIES_PORTUGUESE
  244.     LangIDValue(0,0,0) = "pt"
  245.     LangIDValue(0,0,1) = ""
  246.     LangIDValue(0,0,2) = "-816"
  247.  
  248. ' CURRENCIES_DUTCH
  249.     LangIDValue(1,0,0) = "nl"
  250.     LangIDValue(1,0,1) = ""
  251.     LangIDValue(1,0,2) = "-413"
  252.  
  253. ' CURRENCIES_FRENCH
  254.     LangIDValue(2,0,0) = "fr"
  255.     LangIDValue(2,0,1) = ""
  256.     LangIDValue(2,0,2) = "-40C"
  257.  
  258. ' CURRENCIES_SPANISH
  259.     LangIDValue(3,0,0) = "es"
  260.     LangIDValue(3,0,1) = ""
  261.     LangIDValue(3,0,2) = "-40A"
  262.     
  263.     'Spanish modern
  264.     LangIDValue(3,1,0) = "es"
  265.     LangIDValue(3,1,1) = ""
  266.     LangIDValue(3,1,2) = "-C0A"
  267.  
  268. ' CURRENCIES_ITALIAN
  269.     LangIDValue(4,0,0) = "it"
  270.     LangIDValue(4,0,1) = ""
  271.     LangIDValue(4,0,2) = "-410"
  272.  
  273. ' CURRENCIES_GERMAN
  274.     LangIDValue(5,0,0) = "de"
  275.     LangIDValue(5,0,1) = "DE"
  276.     LangIDValue(5,0,2) = "-407"
  277.  
  278. ' CURRENCIES_BELGIAN
  279.     LangIDValue(6,0,0) = "fr"
  280.     LangIDValue(6,0,1) = "BE"
  281.     LangIDValue(6,0,2) = "-80C"
  282.  
  283.     LangIDValue(6,1,0) = "nl"
  284.     LangIDValue(6,1,1) = "BE"
  285.     LangIDValue(6,1,2) = "-813"
  286.  
  287. ' CURRENCIES_IRISH
  288.     LangIDValue(7,0,0) = "en"
  289.     LangIDValue(7,0,1) = "IE"
  290.     LangIDValue(7,0,2) = "-1809"
  291.  
  292. ' CURRENCIES_LUXEMBOURG
  293.     LangIDValue(8,0,0) = "fr"
  294.     LangIDValue(8,0,1) = "LU"
  295.     LangIDValue(8,0,2) = "-140C"
  296.     
  297.     LangIDValue(8,1,0) = "de"
  298.     LangIDValue(8,1,1) = "LU"
  299.     LangIDValue(8,1,2) = "-1007"
  300.  
  301. ' CURRENCIES_AUSTRIAN
  302.     LangIDValue(9,0,0) = "de"
  303.     LangIDValue(9,0,1) = "AT"
  304.     LangIDValue(9,0,1) = "-C07"
  305.  
  306. ' CURRENCIES_FINNISH
  307.     LangIDValue(10,0,0) = "fi"
  308.     LangIDValue(10,0,1) = "FI"
  309.     LangIDValue(10,0,2) = "-40B"
  310.  
  311.     LangIDValue(10,1,0) = "sv"
  312.     LangIDValue(10,1,1) = "FI"
  313.     LangIDValue(10,1,2) = "-81D"
  314.  
  315. ' CURRENCIES_GREEK
  316.     LangIDValue(11,0,0) = "el"
  317.     LangIDValue(11,0,1) = "GR"
  318.     LangIDValue(11,0,2) = "-408"
  319. End Sub
  320.  
  321.  
  322.  
  323. Sub InitializeCurrencies()
  324. Dim i as Integer
  325.     GoOn = True
  326.  
  327.     CurrValue(0,0) = sCurrPORTUGUESE
  328.     ' Wahrer Umrechnungskurs
  329.     CurrValue(0,1) = 200.482
  330.     ' Gerundeter Umrechnungskurs
  331.     CurrValue(0,2) = 200
  332.     CurrValue(0,3) = "Esc."
  333.     CurrValue(0,4) = "Esc."
  334.     CurrValue(0,5) = "PTE"
  335.  
  336.     CurrValue(1,0) = sCurrDUTCH
  337.     ' Wahrer Umrechnungskurs
  338.     CurrValue(1,1) = 2.20371
  339.     ' Gerundeter Umrechnungskurs
  340.     CurrValue(1,2) = 2
  341.     CurrValue(1,3) = "F"
  342.     CurrValue(1,4) = "F"
  343.     CurrValue(1,5) = "NLG"
  344.  
  345.     CurrValue(2,0) = sCurrFRENCH
  346.     ' Wahrer Umrechnungskurs
  347.     CurrValue(2,1) = 6.55957
  348.     ' Gerundeter Umrechnungskurs
  349.     CurrValue(2,2) = 7
  350.     CurrValue(2,3) = "F"
  351.     CurrValue(2,4) = "F"
  352.     CurrValue(2,5) = "FRF"
  353.  
  354.     CurrValue(3,0) = sCurrSPANISH
  355.     ' Wahrer Umrechnungskurs
  356.     CurrValue(3,1) = 166.386
  357.     ' Gerundeter Umrechnungskurs
  358.     CurrValue(3,2) = 170
  359.     CurrValue(3,3) = "Pts"
  360.     CurrValue(3,4) = "Pts"
  361.     CurrValue(3,5) = "ESP"
  362.  
  363.     CurrValue(4,0) = sCurrITALIAN
  364.     ' Wahrer Umrechnungskurs
  365.     CurrValue(4,1) = 1936.27
  366.     ' Gerundeter Umrechnungskurs
  367.     CurrValue(4,2) = 2000
  368.     CurrValue(4,3) = "L."
  369.     CurrValue(4,4) = "L."
  370.     CurrValue(4,5) = "ITL"
  371.  
  372.     CurrValue(5,0) = sCurrGERMAN
  373.     ' Wahrer Umrechnungskurs
  374.     CurrValue(5,1) = 1.95583
  375.     ' Gerundeter Umrechnungskurs
  376.     CurrValue(5,2) = 2
  377.     CurrValue(5,3) = "DM"
  378.     CurrValue(5,4) = "DM"
  379.     CurrValue(5,5) = "DEM"
  380.  
  381.     CurrValue(6,0) = sCurrBELGIAN
  382.     ' Wahrer Umrechnungskurs
  383.     CurrValue(6,1) = 40.3399
  384.     ' Gerundeter Umrechnungskurs
  385.     CurrValue(6,2) = 40
  386.     CurrValue(6,3) = "FB"
  387.     CurrValue(6,4) = "BF"
  388.     CurrValue(6,5) = "BEF"
  389.  
  390.     CurrValue(7,0) = sCurrIRISH
  391.     ' Wahrer Umrechnungskurs
  392.     CurrValue(7,1) = 0.787564
  393.     ' Gerundeter Umrechnungskurs
  394.     CurrValue(7,2) = 0.8
  395.     CurrValue(7,3) = "┬ú"
  396.     CurrValue(7,4) = "┬ú"
  397.     CurrValue(7,5) = "IEP"
  398.  
  399.     CurrValue(8,0) = sCurrLUXEMBOURG
  400.     ' Wahrer Umrechnungskurs
  401.     CurrValue(8,1) = 40.3399
  402.     ' Gerundeter Umrechnungskurs
  403.     CurrValue(8,2) = 40
  404.     CurrValue(8,3) = "F"
  405.     CurrValue(8,4) = "F"
  406.     CurrValue(8,5) = "LUF"
  407.  
  408.     CurrValue(9,0) = sCurrAUSTRIAN
  409.     ' Wahrer Umrechnungskurs
  410.     CurrValue(9,1) = 13.7603
  411.     ' Gerundeter Umrechnungskurs
  412.     CurrValue(9,2) = 15
  413.     CurrValue(9,3) = "S"
  414.     CurrValue(9,4) = "S"
  415.     CurrValue(9,5) = "ATS"
  416.  
  417.     CurrValue(10,0) = sCurrFINNISH
  418.     ' Wahrer Umrechnungskurs
  419.     CurrValue(10,1) = 5.94573
  420.     ' Gerundeter Umrechnungskurs
  421.     CurrValue(10,2) = 6
  422.     CurrValue(10,3) = "mk"
  423.     CurrValue(10,4) = "mk"
  424.     CurrValue(10,5) = "FIM"
  425.  
  426. ' Todo: Werte verlorengegangen?
  427.     CurrValue(11,0) = sCurrGREEK
  428.     ' Wahrer Umrechnungskurs
  429.     CurrValue(11,1) = 340.750
  430.     ' Gerundeter Umrechnungskurs
  431.     CurrValue(11,2) = 400
  432.     CurrValue(11,3) = chr(916) & chr(961) & chr(967)
  433.     CurrValue(11,4) = chr(916) & chr(961) & chr(967)
  434.     CurrValue(11,5) = "GRD"
  435.  
  436.     i = -1
  437.     CurrSymbolList(0) = ""
  438.     CurrSymbolList(1) = ""
  439.     InitializeCurrencyValues(CurrIndex)
  440. End Sub
  441.  
  442.  
  443. Sub InitializeControls()
  444.     If CurrIndex = -1 Then
  445.         If DialogModel.Step = 1 Then
  446.             EnableStep1DialogControls(True, False, False)
  447.         ElseIf DialogModel.Step = 2 Then
  448.             EnableStep2DialogControls(True)
  449.         End If
  450.     End If
  451. End Sub    
  452.  
  453. Sub InitializeConverter(oLocale, iDialogPage as Integer)
  454. Dim Isthere as Boolean
  455.     ToggleWindow(False)
  456.     bCancelProtection = False
  457.     bMacroStopped = False
  458.     bRangeListDefined = False
  459.     PWIndex = -1
  460.     sDocType = GetDocumentType(StarDesktop.ActiveFrame.Controller.Model)
  461.     If sDocType = "sCalc" Then
  462.         bDocHasProtectedSheets = CheckSheetProtection(oSheets)
  463.     End If
  464.     DialogConvert = LoadDialog("Euro", "DlgConvert")
  465.     DialogModel = DialogConvert.Model
  466.     DialogPassword = LoadDialog("Euro", "DlgPassword")
  467.     PasswordModel = DialogPassword.Model
  468.     DialogModel.Step = iDialogPage
  469.     InitializeResources()
  470.     InitializeLanguages()
  471.     InitializeLocales(oLocale)
  472.     InitializeCurrencies()
  473.     InitializeControls()
  474.     BitmapDir = GetOfficeSubPath("Template", "wizard/bitmap")
  475.     FillUpCurrencyListbox()
  476.     DialogModel.imgPreview.ImageUrl = BitmapDir & "euro_" & DialogModel.Step & ".bmp"    
  477.     DialogConvert.Title = sMsgDLGTITLE
  478.     DialogModel.cmdGoOn.DefaultButton = True    
  479.     ToggleWindow(True)
  480. End Sub
  481.  
  482.  
  483. Sub    InitializeCurrencyValues(CurrIndex)
  484.     If CurrIndex <> -1 Then
  485.         CurrLanguage = CurrValue(CurrIndex,0)
  486.         CurrFactor = CurrValue(CurrIndex,1)
  487.         CurrSymbolList(0) = CurrValue(CurrIndex,3)
  488.         CurrSymbolList(1) = CurrValue(CurrIndex,4)
  489.         CurrSymbolList(2) = CurrValue(CurrIndex,5)
  490.     End If
  491. End Sub        
  492.  
  493.  
  494. Function InitializeLocales(oLocale) as Boolean
  495. Dim i as Integer, n as Integer, m as Integer
  496. Dim sLanguage as String, sCountry as String
  497.  
  498.     sLanguage = oLocale.Language
  499.     sCountry = oLocale.Country
  500.     For n = 0 To SBCOUNTRYCOUNT - 1
  501.         For m = 0 TO 1
  502.             If LangIDValue(n,m,0) = sLanguage AND LangIDValue(n,m,1) = sCountry Then
  503.                 CurrIndex = n
  504.                 For i = 0 To 1
  505.                     CurExtension(i) = LangIDValue(CurrIndex,i,2)
  506.                 Next i
  507.                 InitializeLocales = True
  508.                 Exit Function
  509.             End If
  510.         Next m
  511.     Next n
  512.     CurrIndex = -1
  513.     InitializeLocales = False
  514. End Function</script:module>